<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script type="text/javascript">
    function noRepact (arr) {
      // return [...new Set(arr)]

      // 数组中的indexOf方法，返回数组中可以找到的值一个的第一个索引，如果不存在，返回-1
      // let result = []
      // for (let i = 0; i < arr.length; i++) {
      //   // 判断数组中是否存在该值，如果不存在则添加，存在则不添加
      //   if (result.indexOf(arr[i]) == -1) {
      //     result.push(arr[i])
      //   }
      // }

      // return result

    }

    let arr = [-1, -1, 0, 0, 1, 2, 1, 3, 4, 5, 1, 1]
    // console.log( noRepact(arr) )

    // ES5的写法
    let res1 = arr.filter(function (item, index) {
      return item > 3
    })

    // ES6新写法
    let res2 = arr.filter((item, index) => {
      return item > 3
    })
    console.log( res2 )

    // ES6新写法
    let res3 = arr.filter(item => item > 3)
    console.log( res3 )

    let obj = {}
    let res4 = arr.filter(item => {
      if (!obj[item]) {
        obj[item] = true
        return true
      }
    })
    console.log( res4 )

    let res5 = arr.reduce(function (pre, cur, index, arr) {
      // console.log( pre, cur )
      return pre
    }, 0)
    console.log( res5 )


  </script>
</body>
</html>